using GLib;

public abstract class Finery : Person {

	private Person component;
	
	public void Decorate(Person component) {
		this.component = component;
	}
	
	public override void Show() {
	
		if(null != component) {
			component.Show();
		}
	}
}

public class TShirt : Finery {

	public override void Show() {
		stdout.printf("T恤,");
		base.Show();
	}
}

public class Trouser : Finery {

	public override void Show() {
		stdout.printf("裤子,");
		base.Show();
	}
}
	

public class Shoes : Finery {

	public override void Show() {
		stdout.printf("鞋子,");
		base.Show();
	}
}
